\chapter{Pruebas de desempeño}
\ifpdf
    \graphicspath{{Chapter4/Chapter4Figs/PNG/}{Chapter4/Chapter4Figs/PDF/}{Chapter4/Chapter4Figs/}}
\else
    \graphicspath{{Chapter4/Chapter4Figs/EPS/}{Chapter4/Chapter4Figs/}}
\fi

En este capítulo se presentará los resultados de las pruebas de desempeño realizadas sobre el sistema de archivos proxy usando diferentes combinaciones de módulos.


\section{Metodología}

Para realizar estas pruebas se utilizó scripts de bash que ejecutan un conjunto de comandos tanto sobre el sistema de archivos original como sobre el sistema de archivos proxy montado. Estos scripts se los puede encontrar en \path{test_scripts/test_*}. Se utilizó una computadora MacBook Pro de 2.33 GHz Intel Core 2 Duo con 2 GB de RAM (667 MHz DDR2 SDRAM). Esta computadora corre Mac OS X 10.5.4 con todos los últimos parches disponibles al 1 de Septiembre del 2008. Además corre MacFUSE versión 1.7 y Python versión 2.5.1. Para realizar los gráficos se usó gnuplot versión 4.2 patchlevel 3. Todos los fuentes para la generación de los gráficos se encuentran en \path{docs/thesis/Chapter4/Chapter4Figs/*.gnu}~(\ref{general.gnu.inc}). Los archivos de datos con los que se generó estos gráficos también están en el mismo directorio con la extensión \path{.dat}.

Cada prueba se ejecutó 10 ocasiones.  Se calculó un porcentaje promedio de penalidad en el tiempo de respuesta de usar el sistema. Se escogió una de las 10 ejecuciones y se uso como fuente para los gráficos. El método de cálculo del promedio fue el siguiente:

Dados los resultados tanto para el sistema de archivos original (llamado \textit{a} en adelante), y los resultados del sistema proxy (llamado \textit{b} en adelante), se calculó un valor \textit{c} como la ecuación (\ref{eqC}) que representa el porcentaje de cambio del tiempo de ejecución de la prueba.

\begin{equation}
\label{eqC}
c_{i} = \frac{b_{i}}{a_{i}}
\end{equation}

El porcentaje de cambio sería entonces lo expuesto en la ecuación (\ref{eqP}).

\begin{equation}
\label{eqP}
porcentaje_{i} = 100(c_{i} - 1)
\end{equation}

Además se hizo una regresión lineal usando la ecuación (\ref{eqB}) entre \textit{c} y \textit{x}, donde \textit{x} es el valor en el cual varió la prueba. Para la prueba A es el número de archivos y para la prueba B es el tamaño del archivo.

\begin{equation}
\label{eqB}
\hat{b} = \frac {\sum_{i=1}^{N}  (x_{i} - \bar{x})(c_{i} - \bar{c}) }  {\sum_{i=1}^{N} (x_{i} - \bar{x}) ^2}
\end{equation}

Debido a que este valor indica la pendiente de la curva del porcentaje de cambio del tiempo de ejecución, nos indica si existe un aumento que depende de \textit{x}. Para efectos de simplificación del problema se descartó este valor si era menor al 0.1\%. En tal caso suponemos que el uso del sistema de archivos proxy tiene una penalidad en el tiempo de ejecución en el orden de O(1) con respecto al uso del sistema original. De no ser así asumimos que el sistema de archivos proxy tiene una penalidad en el orden de O(n) con respecto al sistema de archivos original.

\subsection{Prueba A}

La prueba A consiste en crear y borrar un número de archivos vacíos. En esta prueba se varió el número de archivos entre 50 y 500 con incrementos de 50 archivos. Con esta prueba se intenta analizar el impacto que tiene el sistema de archivos proxy con el manejo de estructuras de directorios en general.

\subsection{Prueba B}

La prueba B consiste en crear y borrar un archivo de un tamaño determinado. En esta prueba se varió el tamaño del archivo creado entre 20 y 200 MB con incrementos de 20 MB. Esta prueba tiene como finalidad analizar el impacto del sistema de archivos proxy en tiempo de acceso a disco con relación al sistema de archivos original.


\section{Resultados configuración 1}

Para el primer set de resultados se usó lo siguientes ajustes al momento de montar el sistema de archivos proxy.

\begin{itemize}
\item[filter] = CompleteDirectory - Para acceder a un directorio completo
\item[root] = /path - Esta ruta apunta hacia un directorio vacío en el sistema de archivos original
\item[cache] = PassThrough - Esta es la opción por defecto
\item[organizer] = Original - Esta es la opción por defecto
\end{itemize}

\subsection{Prueba A-1}

Estos resultados corresponden a la ejecución de la prueba A usando la configuración 1. La media de penalización de usar esta configuración fue de aproximadamente 91\% con un factor c de 1.906 y el resultado está graficado en la figura~(\ref{pruebaA-1}).

\InsertFig{\IncludeGraphicsH{pruebaA-1}{3in}{92 86 545 742}}{Resultados de la prueba A configuración 1}{pruebaA-1}

\subsection{Prueba B-1}

Estos resultados corresponden a la ejecución de la prueba B usando la configuración 1. La media de penalización de usar esta configuración fue de aproximadamente 0\% con un factor c de 1.004 y el resultado está graficado en la figura~(\ref{pruebaB-1}).

\InsertFig{\IncludeGraphicsH{pruebaB-1}{3in}{92 86 545 742}}{Resultados de la prueba B configuración 1}{pruebaB-1}


\section{Resultados configuración 2}

Para el primer grupo de resultados se usó los siguientes ajustes al momento de montar el sistema de archivos proxy.

\begin{itemize}
\item[filter] = CompleteDirectory - Para acceder a un directorio completo
\item[root] = /path - Esta ruta apunta hacia un directorio vacío en el sistema de archivos original
\item[cache] = PassThrough - Esta es la opción por defecto
\item[organizer] = Date - Esta opción extiende de TagOrganizer igual que Documents
\end{itemize}

\subsection{Prueba A-2}

Estos resultados corresponden a la ejecución de la prueba A usando la configuración 2. La media de penalización de usar esta configuración fue de aproximadamente 144\% con un factor c de 2.438 y el resultado está graficado en la figura~(\ref{pruebaA-2}).

\InsertFig{\IncludeGraphicsH{pruebaA-2}{3in}{92 86 545 742}}{Resultados de la prueba A configuración 2}{pruebaA-2}

\subsection{Prueba B-2}

Estos resultados corresponden a la ejecución de la prueba B usando la configuración 2. La media de penalización de usar esta configuración fue de aproximadamente 1\% con un factor c de 1.001 y el resultado está graficado en la figura~(\ref{pruebaB-2}).

\InsertFig{\IncludeGraphicsH{pruebaB-2}{3in}{92 86 545 742}}{Resultados de la prueba B configuración 2}{pruebaB-2}

\section{Resultados configuración 3}

Para el primer set de resultados se usó lo siguientes ajustes al momento de montar el sistema de archivos proxy.

\begin{itemize}
\item[filter] = CompleteDirectory - Para acceder a un directorio completo
\item[root] = /path - Esta ruta apunta hacia un directorio vacío en el sistema de archivos original
\item[cache] = PassThrough - Esta es la opción por defecto
\item[organizer] = ISO9660 - Esta opción no extiende de TagOrganizer
\end{itemize}

\subsection{Prueba A-3}

Estos resultados corresponden a la ejecución de la prueba A usando la configuración 3. La media de penalización de usar esta configuración fue de aproximadamente 98\% con un factor c de 1.976 y el resultado está graficado en la figura~(\ref{pruebaA-3}).

\InsertFig{\IncludeGraphicsH{pruebaA-3}{3in}{92 86 545 742}}{Resultados de la prueba A configuración 3}{pruebaA-3}

\subsection{Prueba B-3}

Estos resultados corresponden a la ejecución de la prueba B usando la configuración 3. La media de penalización de usar esta configuración fue de aproximadamente 1\% con un factor c de 1.010 y el resultado está graficado en la figura~(\ref{pruebaB-3}).

\InsertFig{\IncludeGraphicsH{pruebaB-3}{3in}{92 86 545 742}}{Resultados de la prueba B configuración 3}{pruebaB-3}

% ------------------------------------------------------------------------


%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "../thesis"
%%% End: 
